机场选购与测评
代理订阅服务的选型、验证与风险控制 —— 写给"日常办公 + 全球多国线路"需求的人
0. 一页结论
- 不存在"最好最稳的机场"。机场的平均生命周期以年计,跑路和降级是常态。你要买的不是"一家好机场",而是一套不会因单点失效而断网的组合。
- 所有榜单都不可信。测评站的收入来自返利,"排名第一"和"优惠码"是一体两面。榜单只能用来收集候选名字,判断必须自己做。
- 价格是最强的筛查指标。专线的带宽是刚性成本(1Gbps 国际入口月租 1.5–3.5 万元),¥7–8/月 卖"IPLC 全专线"在成本上不成立。算不通的价格,后面一定是超售或跑路。
给你的配置建议(日常办公 + 全球多国)
| 层 | 角色 | 预算 | 选型要点 |
|---|---|---|---|
| 主力 | 日常办公、AI 工具、多国访问 | 30–60 元/月 | IEPL 或优质中转;港/日/新 + 美/欧;必须月付;真实 IP 去重后 ≥15 个(20+ 更佳) |
| 备用 | 主力挂了立刻顶上 | 5–20 元(按量) | 按量计费不过期;不同运营主体;不追求速度只要能通 |
| 解锁 / AI | ChatGPT、Claude、流媒体 | 含在主力内,或 +10–20 元 | 官网逐项标注解锁国家;原生 IP;有独立"AI 节点" |
| 兜底 | 敏感时期、全线失效 | 0–10 元/月 | 自建 VPS + VLESS-Reality,或长期可用的免费源 |
合计约 50–100 元/月,其中主力不超过 60 元。任何"年付 ¥99 不限量"的选项直接跳过,不在讨论范围内。
1. 机场是什么
"机场"是中文圈对代理订阅服务商的俗称。它不卖软件,卖的是一条订阅链接:客户端定时拉取这条链接,得到一份节点列表(服务器地址、端口、协议、密码/密钥)和一套分流规则。换机场 = 换一条订阅链接,客户端不用重装。
它和另外两个概念必须分清:
| 形态 | 你买到什么 | 优点 | 代价 |
|---|---|---|---|
| 机场 | 订阅链接(几十到几百个节点) | 开箱即用、多国覆盖、有专线、有客服 | 跑路风险、隐私暴露给运营方、共享带宽 |
| 自建 | 一台境外 VPS + 自己装的协议 | 完全可控、IP 独享、无跑路 | 自己运维、单 IP 被封就全断、需要技术 |
| 商业 VPN | 一个 App 账号 | 合规性较好、易用 | 协议特征明显、国内基本不可用、无专线 |
专有名词
- 机场(Airport)
- 代理订阅服务商的俗称。名字来源于"飞机场"——节点叫"线路/航班",换节点叫"换航班"。
- 订阅(Subscription)
- 一条带 token 的 URL,返回节点列表与规则。它等价于你的账号凭证,泄露即被盗用流量。
- 节点(Node)
- 一条可连接的代理入口,由
server + port + 协议 + 密钥组成。注意:节点数 ≠ 线路数,同一台机器的多个端口会被包装成多个"节点"。 - 落地(Exit / 落地 IP)
- 流量最终访问目标网站时使用的出口 IP。你看到"香港节点",指的是落地在香港。
- 入口(Entry)
- 你的流量最先到达的那一跳。直连的入口就是境外机器;中转的入口是一台境内机器。
- 倍率
- 计费系数。标称 100GB、常用节点倍率 2x,实际只能用 50GB。真实流量 = 标称 ÷ 倍率。
- 订阅转换(subconverter)
- 把一种订阅格式转成另一种(如 V2Ray → Clash)。第三方在线转换站能看到你的全部节点密钥,尽量本地转换。
2. 一次请求的完整链路
看懂这张图,90% 的营销话术就失效了。你的每一次点击,走的是这样一条路径:
三个关键节点决定了体验:
- 第 4 跳(客户端 → 入口):这一段走公网出境,是 GFW 主要识别和干扰的位置。协议抗不抗封锁,看这里。
- 第 5–6 跳(入口 → 落地):这一段是"中转"还是"专线"。专线走运营商内网,不经过公网国际出口,晚高峰不跟别人抢带宽——这就是专线溢价的全部来源。
- 第 7 跳(落地 → 目标站):这一跳的 IP 决定了流媒体解锁、AI 服务可用性、账号风控。线路再好,落地 IP 脏,ChatGPT 照样封你。
3. 线路类型:直连 / 中转 / 专线
这是决定价格和晚高峰体验的唯一变量。所有"高端""企业级"的宣传,最后都要落到这张表里的某一格。
| 类型 | 路径 | 晚高峰 | 成本量级 | 怎么验证 |
|---|---|---|---|---|
| 直连 | 客户端 → 境外 VPS(一跳出境) | 差与国际出口拥堵同频,QoS 限速常见 | 最低,几元/月 | mtr 看第一跳是否直接是境外 IP |
| 中转 | 客户端 → 境内 BGP 入口 → 境外落地 | 中看中转段挤不挤,比直连稳 | 中,10–30 元/月 | 路由第一跳是境内 IDC IP(如 103.x / 43.x 机房段) |
| IEPL | 运营商 MPLS 国际以太网专线,走内网 | 好晚高峰衰减 <10%,丢包≈0 | 高,25–60 元/月起 | 晚高峰衰减率、三网延迟差 <10ms |
| IPLC | 点对点物理专线,不过公网交换中心 | 最好理论上零阻断零丢包 | 最高,通常 >25 元/月 | 同上,但独立带宽、抖动更小 |
| CN2 GIA / 9929 / CMIN2 | 优质公网出口(不是专线) | 中上比 163 骨干好,仍受公网影响 | 中 | 路由中出现 59.43.x.x(CN2)等特定 ASN |
唯一的量化判据:晚高峰衰减率
衰减率 = (平峰下载速度 − 晚高峰下载速度) / 平峰下载速度 × 100%
真专线 < 10%
专线+中转混合 10% – 15%
公网中转/直连 > 20%(常见 30%–60%)
测法:同一节点、同一测速服务器,下午 14:00 左右测一次,晚上 21:00–22:00 测三次取平均。只看晚高峰那一次的人,都会被白天的数据骗。
专有名词
- IEPL / IPLC
- International Ethernet Private Line / International Private Leased Circuit。都是运营商提供的跨境专线,流量在运营商内网传输、不经过公网国际出口。对终端用户而言体验差别很小,不值得为这两个字母的差价买单。
- BGP 中转
- 机场在境内租用多线机房(电信/联通/移动 BGP),你的流量先到这台境内机器,再由它转发到境外。它本身仍走公网出境,只是把"最后一公里"优化了。
- 原生 IP(Native IP)
- 该 IP 的注册地与实际机房所在地一致,且未被大量代理用户使用过。流媒体和 AI 服务最看重这个。
- 广播 IP(Broadcast IP)
- 把别处的 IP 段宣告到本地机房。地理位置显示为某国,实际机房在另一国。便宜,但解锁能力差、风控分高。
- 超售
- 把 1Gbps 带宽卖给需要 10Gbps 的用户群。白天看不出来,晚高峰集体卡顿。专线也会超售——"专线"不等于"不卡"。
- QoS 限速
- 运营商对特定流量(尤其是 UDP、未知加密流量)在高峰期降优先级。表现为"测速正常、实际卡顿"或"UDP 协议直接不可用"。
4. 选型决策流程
把上面的知识变成可执行的动作。整个流程只有四步,其中三步是"排除"而不是"挑选"。
4.1 硬性排除(不做这步,后面全是浪费)
| 信号 | 为什么排除 |
|---|---|
| 年付折算 < ¥8/月,且标称"全专线" | 成本不成立。专线带宽是刚性支出,这个价格必然超售或靠拉新续命 |
| 提供"终身套餐""三年付""买一送三" | 把不确定性全部转嫁给你,是跑路前的标准动作 |
| 没有月付档,最低季付 | 你失去了低成本退出的机会 |
| 官网只写"全解锁"三个字 | 没有逐项标注(ChatGPT / Claude / Netflix / Disney+)等于没写 |
| 节点名里带 2x / 3x 倍率,但不标在套餐页 | 真实流量被腰斩,比价失真 |
| 客服/工单在购买前就 24 小时不回 | 买前都不回,买后不会回 |
| 搜索到的"官网"域名与官方公告不一致 | 山寨站会盗你的账号和订阅 token |
4.2 候选收集
从榜单站、社区、TG 群收集 3–5 个候选名字(只取名字,不取结论)。记录四件事:运营起始年份、最低月付价、标注的线路类型、标注的落地国家数。
4.3 短周期试用
买最短周期:月付,或按量小包(1–3 元体验包)。目的不是"用",是"测"。同时导入客户端,确认兼容 Clash / sing-box / Shadowrocket 三种订阅格式。
4.4 七天验收
跑完第 10 章的 SOP,填完第 7 章的评分卡。达标续费,不达标淘汰。整个决策周期控制在 7–10 天,成本控制在 30 元以内。
5. 生命周期与跑路
机场不是"好"或"坏",而是处在一个生命周期里的某个位置。绝大多数人在错误的时间点买入了错误的阶段。
5.1 跑路的五个阶段
| 阶段 | 时长 | 表面现象 | 你应该做什么 |
|---|---|---|---|
| 1. 开始降速 | 1–4 周 | 晚高峰变慢、视频缓冲增多、下载掉速 | 开始记录衰减率,准备候选 |
| 2. 频繁维护 | 2–4 周 | 公告变多("线路优化""系统升级"),问题不解决 | 停止续费,只保留月付 |
| 3. 客服失联 | 1–2 周 | 工单 3–5 天无人回,TG 群开始禁言 | 切换到备用,导出订阅备份 |
| 4. 官网异常 | 数天 | 面板打不开、订阅更新失败、域名更换无公告 | 视为已失效 |
| 5. 彻底消失 | — | 官网关闭、域名失效、社群解散 | 止损:支付渠道申诉,改密码 |
5.2 五个高危信号
- 反常大促:突然"充 100 送 150""终身不限时"。这是最后一次圈钱。
- 群组全员禁言:阻止用户串联维权。
- 工单停摆:平时 1 小时响应,忽然 3 天没人。
- 核心节点大面积红灯超过一周:通常是欠费被上游停机。
- 强制安装"专属客户端":可能为了掩盖故障或植入后门。
专有名词
- 跑路
- 运营方停止服务并失联。触发原因通常是监管压力、资金链断裂、或一开始就是诈骗。
- 换壳
- 跑路后换品牌名、换域名重新开盘。老用户认不出来,还会再被割一次。所以要看"运营团队"而不是"品牌名"。
- 月抛
- 只打算做一两个月的机场。特征是极低价 + 无历史 + 无客服体系。
- 现金流死亡螺旋
- 低价年付吸金 → 用户增长放缓 → 每月刚性带宽支出照付 → 恶性超售 → 最后一波大促 → 关站。用年付款养月付成本,注定断裂。
6. 测评平台矩阵
这是本文最实用的一节。测评平台要分成两类用:工具型自己产生结论,榜单型只提供线索。
6.1 工具型:中立、可复现、结论可信
| 目的 | 工具 | 怎么用 | 判定标准 |
|---|---|---|---|
| 国内三网延迟/丢包 | itdog.cn | 输入落地 IP,看全国 Ping / TCPing | 电信/联通/移动延迟差 <10ms;丢包 0% |
| 全球视角延迟 | ping.pe / ping.sx | 输入 IP,看海外回程 | 判断是否绕路(欧洲回程到亚洲=绕路) |
| 路由 / 是否真中转 | NextTrace / mtr / BestTrace | nexttrace <ip> 或 mtr -rw <ip> | 第一跳是境内 IP = 中转;出现 59.43 = CN2 |
| IP 归属 / ASN | ip-api.com、ipinfo.io、bgp.he.net | curl ip-api.com/json/<ip> | hosting:true = 机房 IP;proxy:true = 已被标记 |
| IP 纯净度 / 风控分 | ping0.cc、scamalytics.com、ipapi.is | 输入 IP 看 fraud score | <30 较干净;30–70 谨慎;>70 别登账号 |
| 带宽 | Speedtest.net、fast.com、speed.cloudflare.com、LibreSpeed | 单线程 + 多线程各测一次 | 晚高峰单线程 >50Mbps 可流畅 4K |
| 流媒体解锁 | lmc999/RegionRestrictionCheck | bash <(curl -L -s .../check.sh) | 看具体服务是否为 Yes(不看"全解锁") |
| 快速解锁检测 | nkeor/MediaUnlockTest | Go 单文件,跑完即出结果 | 同上,速度快,适合批量 |
| 长期稳定性 | Uptime Kuma(自建)/ 自写探测脚本 | 每 60s 探测一次,记录 7 天 | 可用率 >99%,且断点集中在同一时段才算问题 |
| 真实节点数 | awk + sort(见 10.2) | 统计订阅里 server 去重数 | 去重 IP 数 / 节点总数 < 0.3 = 严重虚标 |
6.2 榜单型:全部有返利,只能当线索
这类站点靠推广佣金生存,页面上的"优惠码"就是收入来源。它们不是骗子,但它们的"排名"是商业排序,不是质量排序。
jichangclub.co、pjc.mom、jichangp.world、yiyuan-jichang.orgjichangyyds.com、ygjc.cc、jinqians.comjichangs.world、yp7.net(有风险监测页,相对透明)
正确用法:只从里面抄名字,然后回到 6.1 自己重测。看它有没有公开评分方法、有没有披露哪些是合作品牌、有没有写缺点——三条都没有的,连名字都别抄。
6.3 证据:同一家机场,三家给出三种定性
| 站点 | 对同一家机场(光速云)的说法 |
|---|---|
| jichangp.world | "IEPL 全节点内网专线",晚高峰衰减 4.9%,六家第一,三网 28/22/32ms |
| ygjc.cc | "BGP 中转",晚高峰 160+ Mbps,游戏延迟 50–80ms |
| jichangyyds.com | "中转优化线路",是它家榜单里唯一的非专线 |
线路类型都能对不上,衰减率就更不可能对得上。这类数字的共同点是:你无法复现,也无法追责。
6.4 证据:价格本身自相矛盾
| 来源 | 说法 |
|---|---|
| 多家榜单 | "IPLC 专线" 低至 ¥7–8/月(年付折算) |
| 同一批站点的另一页 | "专线普遍在 ¥25/月以上,¥15 标榜『全专线』的基本可以直接排除" |
| 成本侧 | 1Gbps 高质量 IEPL/BGP 入口月租 1.5万–3.5万元 |
算一笔账:1000 个用户共享 500Mbps(月租约 1.2 万元),人均带宽成本就是 12 元/月,还没算落地机房、原生 IP、支付通道手续费(8%–15%)、防御和客服。¥7/月的"全专线"在数学上只能是超售或庞氏。
6.5 社区型信息源
| 渠道 | 价值 | 噪音 |
|---|---|---|
| NodeSeek / HostLoc / V2EX | 技术讨论、故障复盘、真实用户吐槽 | 中,有商家小号 |
| Telegram 机场群 / 频道 | 故障公告最快、跑路现场第一手 | 高,水军与返利号密集 |
| Reddit r/dumbclub 等 | 海外视角、协议讨论 | 低,但与国内线路脱节 |
| GitHub Issues(客户端仓库) | 客户端兼容性问题、版本坑 | 低,最可信 |
7. 量化评分卡
把"感觉还行"变成可比较的分数。权重按你的画像(日常办公 + 全球多国,不玩游戏)设定。
| 维度 | 权重 | 怎么测 | 1 分 | 3 分 | 5 分 |
|---|---|---|---|---|---|
| 稳定性 / 线路质量 | 35% | 7 天可用率 + 晚高峰衰减率 | 衰减 >30%,可用率 <95% | 衰减 15–30%,可用率 97–99% | 衰减 <10%,可用率 >99%,丢包 0 |
| 晚高峰带宽 | 20% | 21:00 单线程下载 | <20 Mbps | 20–50 Mbps | >50 Mbps 且 4K 秒开 |
| 国家覆盖(真实) | 15% | 去重 IP 数 + 实际落地国家数 | <5 个真实 IP 或 <3 国 | 5–15 个 IP,4–6 国 | >20 个 IP,8 国以上且各地区 ≥2 个 |
| IP 纯净度 / 解锁 | 15% | 风控分 + 逐项解锁实测 | ChatGPT 不可用、Netflix 仅自制剧 | AI 可用,流媒体部分 | AI 全通 + 主流流媒体原生解锁 |
| 价格 / 流量 | 10% | 折合每 GB 成本(含倍率) | >¥1.5/GB 或超低价的异常档 | ¥0.3–1.5/GB | 合理价位且流量够用,不靠超售 |
| 运营年限 / 售后 | 5% | 开业年份 + 工单响应时长 | <1 年或工单不回 | 1–3 年,24h 内回 | >3 年且经历过多轮敏感期,1h 内回 |
7.1 计分
加权总分 = Σ(维度得分 × 权重) × 20 // 折算成百分制
示例:
稳定性 4×0.35 = 1.40
带宽 4×0.20 = 0.80
覆盖 3×0.15 = 0.45
纯净度 4×0.15 = 0.60
价格 4×0.10 = 0.40
售后 3×0.05 = 0.15
─────────────────────
合计 3.80 → 76 分
| 分数 | 结论 |
|---|---|
| ≥ 80 | 可以续费,可考虑季付(但仍不建议年付) |
| 70–79 | 可用,继续月付观察,同时保持备用 |
| 60–69 | 只当备用,不作为主力 |
| < 60 | 淘汰,不再投入 |
8. 技术架构
理解机场侧怎么搭,才能理解它会在哪里省钱、在哪里出问题。
8.1 三个可以省钱的地方
- 订阅分发:用免费 CDN 隐藏源站,成本几乎为零。这里省钱不影响体验,但意味着订阅链接可能随时换域名。
- 入口:境内 BGP 入口按带宽月租,是最贵的一环。省这里 = 晚高峰挤。
- 落地:原生 IP 池比广播 IP 贵一个量级。省这里 = 解锁差、风控高。
所以一家机场的"性价比"本质上是在这三处省哪一处。宣传页不会告诉你,但测速和解锁检测会。
8.2 "全球多国"的真相
判断覆盖,别看宣传页的国家列表,看三个数:
| 指标 | 怎么算 | 及格线 |
|---|---|---|
| 真实节点数 | 订阅里 server 去重后的数量 | ≥ 15 个独立 IP |
| 真实国家数 | 每个去重 IP 查 ip-api.com 的 country,再去重 | ≥ 6 国,且港日新美各自 ≥2 个 IP |
| 冗余度 | 去重 IP 数 ÷ 节点总数 | ≥ 0.3(低于 0.3 说明大量端口复用) |
74.52.13.18 的 5 个不同端口;查询该 IP 归属为香港葵涌、AS200772、hosting:true(机房 IP)。结果就是这台机器一被封,5 个节点同时消失。这就是"节点数虚标"的典型形态。
9. 协议怎么选
协议决定"能不能被识别",线路决定"快不快"。链路质量占七成,协议占三成——但顺序经常被搞反:天天换协议,却不看 mtr。
| 协议 | 传输 | 伪装方式 | 抗主动探测 | 抗丢包 | 客户端覆盖 |
|---|---|---|---|---|---|
| VLESS + Reality | TCP | 借用真实大站的 TLS 证书 | 最强 | 一般 | 几乎全部 |
| Hysteria2 | QUIC / UDP | 模仿 HTTP/3 | 强 | 最强(Brutal 拥塞控制) | sing-box / mihomo / Shadowrocket |
| TUIC v5 | QUIC / UDP | QUIC | 中 | 强 | 较广 |
| Trojan | TCP + TLS | 真实 HTTPS | 强 | 一般 | 广 |
| AnyTLS | TCP + TLS | 流量填充打乱包长 | 中高 | 一般 | 较窄(sing-box 1.12+) |
| Shadowsocks-2022 | TCP | 无伪装,仅加密 | 中(可被熵值分析) | 一般 | 最广 |
| VMess | TCP | 已建立指纹库 | 弱 | 一般 | 广 |
9.1 正确的组合
| 你的网络 | 主力 | 备用 | 原因 |
|---|---|---|---|
| 电信 / 联通宽带 | VLESS + Reality(TCP 443) | Hysteria2 | TCP 稳定优先,UDP 作补充 |
| 移动宽带 / 广电 | VLESS + Reality | — | 移动对境外 UDP 的 QoS 最狠,QUIC 系经常直接不可用 |
| 晚高峰丢包严重 | Hysteria2(先确认不掐 UDP) | Reality | Brutal 不因丢包退让 |
| 老路由器 / 软路由低配 | SS-2022 或 VLESS(关 Mux) | — | CPU 开销最低 |
选机场时的实际判断:一家机场只提供 SS 或只提供 VMess,说明它没有跟进 2026 年的抗封锁基线;一家机场同时提供 Reality + Hysteria2 + 一个 TCP 老协议,说明它在做容错。后者才是日常办公该选的。
10. 7 天验收 SOP
目标:用 30 元以内、7 天时间,把"感觉"变成"数据"。以下命令在 macOS 终端可直接跑(Windows 用 WSL 或 PowerShell 对应改写)。
10.1 Day 0:准备
- 装好客户端(见第 11 章),导入订阅,先确认能通。
- 导出当前订阅配置到本地,作为基线备份:
~/.config/clash/config.yaml(Clash Verge Rev 在应用内"导出")。 - 建一个记录表(表格或 Markdown),每天记四列:延迟中位数、丢包率、单线程下载、异常时间点。
10.2 Day 1:基线体检(30 分钟)
① 真实节点数——统计订阅里有多少个独立 IP:
python3 - <<'EOF'
import re, collections
cfg = open('/Users/brian/.config/clash/config.yaml').read()
ips = re.findall(r'server:\s*([0-9a-zA-Z\.\-]+)', cfg)
c = collections.Counter(ips)
print(f'节点总数 {len(ips)} 独立 IP {len(c)} 冗余度 {len(c)/max(len(ips),1):.2f}')
for ip, n in c.most_common(10):
print(f' {ip:<20} x{n}')
EOF
② 每个 IP 的归属与机房属性:
for ip in $(grep -oE 'server: [0-9a-zA-Z\.\-]+' ~/.config/clash/config.yaml \
| awk '{print $2}' | sort -u); do
echo -n "$ip "
curl -s "http://ip-api.com/json/$ip?fields=country,city,as,hosting,proxy"
echo
sleep 0.5 # 免费接口限速 45 次/分钟
done
③ TCP 可达性(判断是"被封"还是"能用"):
for ip in $(grep -oE 'server: [0-9a-zA-Z\.\-]+' ~/.config/clash/config.yaml \
| awk '{print $2}' | sort -u); do
nc -z -G 3 "$ip" 443 >/dev/null 2>&1 && echo "$ip OK" || echo "$ip FAIL"
done
10.3 Day 2–6:晚高峰连测
每天 21:00–22:00 做四件事,各 2 分钟:
- 延迟与丢包:
ping -c 30 <落地IP>,记中位数与 P95。P95 > 中位数 2 倍 = 抖动大。 - 单线程下载:Speedtest 单线程,或
curl -o /dev/null -w "%{speed_download}\n" https://speed.cloudflare.com/__down?bytes=100000000。 - 解锁实测:
bash <(curl -L -s https://raw.githubusercontent.com/lmc999/RegionRestrictionCheck/main/check.sh),只记账号真正在用的那几项。 - 真实体验:4K 视频拖动进度条,看缓冲圈;ChatGPT 发一条消息,看是否报地区限制。
10.4 挂机监控(可选,但很有用)
# 每 60 秒探一次,追加到日志;跑一晚就能看出断流时段
while true; do
printf '%s ' "$(date +%H:%M)"
curl -x http://127.0.0.1:7890 -o /dev/null -s \
-w '%{http_code} %{time_total}\n' \
https://www.gstatic.com/generate_204
sleep 60
done | tee ~/airport-uptime.log
第二天统计:非 204 的行数 ÷ 总行数 = 失败率。可用率 = 1 − 失败率。低于 99% 的,日常办公会明显感知。
10.5 Day 7:结算
- 算晚高峰衰减率(平峰 vs 21:00 平均值)。
- 填第 7 章评分卡,算加权总分。
- 看一眼工单响应:Day 1 提一个技术问题,记录回复时长。
- 决定:≥80 续费月付;70–79 继续观察;<70 淘汰。
11. 客户端配置
11.1 三端选型
| 平台 | 推荐 | 说明 |
|---|---|---|
| macOS | Clash Verge Rev(开源)/ Mihomo Party / Stash(付费) | Verge 免费、支持 mihomo 内核、可视化规则与连接列表,最适合排查问题 |
| iPhone / iPad | Shadowrocket(美区付费) | 支持 SS/VLESS-Reality/Hysteria2/TUIC 最全;Stash 也可,界面更现代 |
| Windows | Clash Verge Rev | 与 macOS 同源,配置可复用;v2rayN 作为备选 |
| 路由器 | OpenWrt + OpenClash / ShellCrash | 全屋代理用,注意 CPU 性能瓶颈 |
11.2 必须检查的四个设置
- 开启 TUN / 增强模式:否则部分 App(尤其是命令行、Electron 应用)不走代理。
- 关闭订阅侧的境外 DoH 依赖:见下方真实案例。
- 订阅自动更新设 24h:机场换 IP 是常态,不更新会连到已废弃节点。
- 开启规则分流:国内域名直连。全量走代理会让国内站在晚高峰更慢,还浪费流量。
本机原订阅的 DNS 配置里有一段
nameserver-policy,把 +.google.com、+.github.com、+.openai.com 等域名的解析强制指向 https://dns.cloudflare.com/dns-query。节点可用时没问题;节点失效后,这条 DoH 请求本身出不去,这些域名就解析失败,表现为"明明没开网页代理,GitHub 却打不开"。排查口诀:代理全挂时,先
unset http_proxy https_proxy all_proxy 直连测试。能通,就说明是代理链路的 DNS 在拖累你。
11.3 订阅安全
- 订阅 URL 里的 token 就是密码。不要贴到群里、不要提交到 Git 仓库。
- 不要用第三方在线"订阅转换"站,它能看到你的全部节点密钥。用本地的 subconverter 或客户端自带转换。
- 换机场后立即删除旧订阅,避免客户端继续向已失联的面板发请求(暴露你的 IP 与使用时间)。
12. 组合方案与预算
"全球多国 + 最稳定"不是一家能给你的,是四层叠出来的。
| 层 | 承担什么 | 不要指望它 | 预算 |
|---|---|---|---|
| 主力 | 日常办公、AI、多国访问;承担 80% 流量 | 不要指望它永不故障 | 30–60 元/月 |
| 备用 | 主力故障时兜底,能通就行 | 不要指望它快 | 5–20 元(按量,不过期) |
| 解锁专用 | ChatGPT / Claude / 流媒体 | 不要指望它便宜 | 含在主力,或 +10–20 元 |
| 兜底 | 敏感时期、全线失效时的最后手段 | 不要指望它省心 | 0–10 元/月(自建 VPS) |
12.1 主力怎么挑(你的画像)
- 线路:IEPL 优先,优质中转可接受。纯直连不选。
- 覆盖:港 / 日 / 新 / 美 必备,欧洲次之。每地区至少 2 个独立 IP。
- 协议:必须同时提供 VLESS-Reality(TCP 主力)和 Hysteria2 或 TUIC(UDP 备用)。
- 计费:月付,流量 100–300GB 够用(日常办公 + 视频,每月 100GB 上下)。
- 售后:有工单系统,且买前测试 24h 内有回复。
12.2 成本对照
| 方案 | 月成本 | 稳定性 | 适合 |
|---|---|---|---|
| 单一低价直连机场 | ¥5–10 | 差 | 只刷网页、能容忍断 |
| 单一中转机场 | ¥15–30 | 中 | 预算有限、非工作依赖 |
| 主力专线 + 按量备用 | ¥40–80 | 好 | 日常办公(推荐) |
| 双专线互备 + 解锁场 | ¥100–200 | 很好 | 工作强依赖、可报销 |
13. 风险与合规
13.1 隐私
- 机场运营方能看到你的目标域名(SNI)、连接时间、流量大小。看到内容需要中间人证书,正常情况下看不到。
- 因此:不要用机场登录银行、主邮箱、公司内网。账号隔离比任何"无日志承诺"都可靠。
- 订阅 token 泄露等于账号被盗用,定期更换。
13.2 支付
- 支付宝/微信有申诉窗口,遇跑路可提交凭证申请冻结商户保证金(成功率不高,但比 USDT 强)。
- USDT/加密货币不可逆,只用于小额试用。
- 付款后立刻检查自动扣款协议:支付宝"设置 → 支付设置 → 免密支付/自动扣款",微信同理。
- 不在账户里留余额,按需充值。
13.3 合规
13.4 止损清单(跑路后)
- 关闭自动续费,取消订阅。
- 截图官网、套餐页、付款记录、客服对话,作为申诉凭证。
- 立即切换到备用方案(这就是备用层的价值)。
- 修改与该机场使用相同密码的其他账号。
- 清理客户端里的旧订阅。
14. 实战操作手册
前面讲的是判断标准,这一章是照着做就能跑完的动作序列。按顺序执行,全程约 2 小时(不含 7 天观察)。
14.1 去哪里买:渠道、候选池、防钓鱼
这一节回答"具体从哪里找"。注意顺序:渠道只负责给你名字,不负责给你结论。所有渠道都有利益关系或噪音,判断仍然靠后面的体检。
四条渠道,各拿各的信息
| 渠道 | 具体入口 | 能拿到什么 | 要注意什么 |
|---|---|---|---|
| 榜单 / 导航站 最省事 |
jichangclub.co、jichangp.world、yiyuan-jichang.org、jichangyyds.com、pjc.mom |
机场名字、官网入口、标价、标称线路 | 全部有返利,排名是商业排序。只抄名字和官网,不抄结论和优惠码 |
| 社区 最真实 |
NodeSeek、HostLoc、V2EX、Reddit r/dumbclub |
真实踩坑、跑路通报、故障复盘 | 有商家小号,优先看"用了半年以上"的发言 |
| Telegram 最快 |
从机场官网进官方频道,不要在群里点别人发的链接 | 故障公告、跑路现场、换域名通知 | 返利号与水军密集,"内部推荐"基本都是 AFF |
| 搜索引擎 最危险 |
关键词见下方 | 长尾小机场、新开机场 | 广告位大量假冒官网,只点自然结果并逐个核对域名 |
搜索关键词(直接复制)
机场推荐 IEPL 月付
机场 晚高峰 实测
机场 跑路 2026
Clash 订阅 机场 测评
IEPL 专线 机场 原生IP
机场 按量计费 不过期
搜出来的前几条通常就是榜单站,点进去抄名字即可。不要点带"推广/Sponsored"标记的链接——那才是假官网的高发区。
三步搭候选池
- 汇总:从 3 家不同榜单站各取前 10 名,去重后得到 20–30 个名字。同一批名字在多个站重复出现,说明它至少还在运营。
- 初筛(用第 4 章的硬性条件,5 分钟删掉 80%):
- 运营 ≥ 2 年(看域名注册时间、TG 频道历史消息)
- 有月付档,或 1–3 元体验包
- 官网逐项写了线路类型(哪几个地区是专线)
- 有工单系统,不是只有机器人
- 价格算得通:真专线 ≥ ¥25/月、中转 ¥10–30、直连 < ¥10;¥7–8/月 标"IPLC 全专线"直接删
- 实测:每家买最便宜的月付或体验包(总成本 30–50 元),按 14.7–14.8 跑一遍,最后只留 1 家主力 + 1 家备用,其余全部退订。
候选池(榜单高频出现,非推荐)
以下名字来自榜单站的公开页面,只用来说明"你大概会看到哪些",我没有逐家实测,不构成推荐:
星岛梦 光速云 二猫云 灵猫网络 飞猫云 微风网络 宇宙云 Firefly 无忧链接 跨界云 闪跃 SOGO云 唯兔云 U1S1 全球云 暮光加速 隐形人 大佬云
第一,这些名字的正确性我无法背书——同一家机场在三家榜单上分别被写成"IPLC 全专线(衰减 4.9%)""BGP 中转""中转优化线路"(见 6.3),连线路类型都对不上,我又怎么可能替它们背书。
第二,机场的生命周期以月计。今天写的清单,三个月后可能一半已跑路。
把上面这些名字当"搜索关键词"用,不要当"购买清单"用。
防钓鱼:六查
| 查什么 | 怎么查 | 不通过就放弃 |
|---|---|---|
| 域名 | 与 TG 官方频道公告、老用户截图里的域名逐字比对 | 域名多了字母、换了后缀(.com → .net → .xyz) |
| 搜索位 | 看搜索结果是否带"推广 / Sponsored" | 是广告位上的"官网" |
| 收款方 | 付款页面的商户名称 | 与品牌名完全无关 |
| 域名年龄 | 地址栏证书签发时间、whois 注册时间 | 注册不到半年却在卖年付 |
| 价格逻辑 | 用 6.4 节的成本算一遍 | 算不通 |
| 客服 | 下单前提一个技术工单 | 24 小时无人回 |
下单七步
- 独立邮箱注册:不要用主邮箱,更不要用与银行/主账号相同的密码。
- 选最短周期:最便宜月付,或 1–3 元体验包。首单绝不年付。
- 付款:支付宝/微信(有申诉窗口)。不要充值余额,不要买"共享/合租"账号——token 共享会被限速或封禁,且没有售后。
- 立刻关自动扣款:支付宝 → 设置 → 支付设置 → 免密支付/自动扣款;微信同理。截图保存订单号。
- 存订阅链接:复制到本地加密文件,不要贴群、不要进 Git。
- 导入客户端:确认后台显示的流量和到期时间正常,异常说明链接格式不对。
- 马上体检:
python3 airport-check.py -c ~/airport.yaml,先看冗余度和 TCP 可达,10 分钟就能淘汰一半。
14.2 开工前准备
| 准备项 | 具体要求 | 为什么 |
|---|---|---|
| 预算 | 30 元以内(一个月主力 + 一个按量备用) | 首单只买月付,不留余额 |
| 账号 | 支付宝/微信可用;iOS 需一个美区 Apple ID | 支付方式决定跑路后的申诉可能 |
| 时间校准 | 系统设置 → 日期与时间 → 打开「自动设置」 | TLS 握手对时间敏感,差几分钟就全连不上 |
| 记录文件 | 一个本地文件,存订阅 URL + 每日测试数据 | 订阅 URL 是凭证,别放云笔记明文 |
| 客户端目录 | 确认能访问配置目录(见 14.7) | 体检脚本要读 config.yaml |
14.3 macOS:安装 Clash Verge Rev
- 打开
github.com/clash-verge-rev/clash-verge-rev/releases,下对应安装包:Apple 芯片选aarch64.dmg,Intel 选x64.dmg。 - 拖进「应用程序」。首次打开若提示"无法验证开发者":系统设置 → 隐私与安全性 → 找到该应用 → 「仍要打开」。
- 首次启动后,先只开系统代理(设置 → 系统设置 → 系统代理),不要急着开 TUN。目的是先确认节点通不通。
- 确认能上网后,再开 TUN 模式(虚拟网卡)。首次开启会要求输入管理员密码安装服务——这是正常的,不开 TUN 的话,终端命令、Docker、部分 Electron 应用不走代理。
14.4 导入订阅
- 左侧「订阅」→ 右上「新建」→ 粘贴机场给的订阅 URL → 导入。
- 导入成功后卡片会显示到期时间与已用流量。若显示 0 或报错,说明链接格式不对(见下表)。
- 右键卡片 → 「更新」,之后建议把自动更新设为每 24 小时。
| 客户端 | 该用哪种订阅链接 |
|---|---|
| Clash Verge Rev / Mihomo Party | Clash / mihomo 格式(YAML) |
| Shadowrocket | V2Ray / base64 格式 |
| sing-box | sing-box 格式(JSON) |
| 机场只给一条链接 | 先试 Clash Verge,多数能自动识别;不行就问客服要对应格式 |
14.5 iPhone:安装 Shadowrocket
- 需要一个美区 Apple ID(用礼品卡充值,别用来路不明的共享账号)。App Store 搜
Shadowrocket,约 $2.99。不要搜"小火箭官网",那类站点大量是假冒的。 - 打开 App → 右上角
+→ 类型选Subscribe→ URL 粘贴订阅链接 → 右上「完成」。 - 回到首页,点刚导入的那条 → 选择延迟低的节点。
- 打开顶部开关,首次会提示「添加 VPN 配置」→ 允许,输密码/面容。
- 「设置 → 延迟测试 → 测试所有节点」,超过 300ms 的直接不用。
- 全局路由建议选「配置」(按规则分流),不要选「代理」(全量走代理会拖慢国内站)。
14.6 Windows:Clash Verge Rev
- 同一个项目下
.msi安装包,装完勾选「TUN 模式」会安装系统服务(需管理员)。 - 配置复用:在 macOS 端「订阅 → 右键 → 导出」,拿到 YAML 后在 Windows 端「导入本地文件」;或直接填同一条订阅 URL。
- Windows 上额外检查:防火墙未拦截、系统时间同步、代理未被组策略覆盖。
14.7 第一步体检:跑脚本
脚本 airport-check.py 与本文件同目录,零依赖,macOS 自带 python3 直接跑。
先拿到 config.yaml(三选一):
- 客户端「订阅」卡片右键 → 编辑/导出,另存为
~/airport.yaml - 直接下订阅:
curl -L "<你的Clash订阅URL>" -o ~/airport.yaml - Clash Verge Rev 的 profile 目录(版本不同略有差异):
macOS~/Library/Application Support/io.github.clash-verge-rev.clash-verge-rev/profiles/
Windows%APPDATA%\io.github.clash-verge-rev.clash-verge-rev\profiles\
# 只做本地统计,不联网(最快,先看是不是虚标)
python3 airport-check.py -c ~/airport.yaml --no-net
# 完整体检:查 ASN + TCP 可达性
python3 airport-check.py -c ~/airport.yaml
# 再加:经 Clash API 测延迟 + 经代理测下载速度
python3 airport-check.py -c ~/airport.yaml --clash-delay --speed
输出怎么读:
| 输出项 | 含义 | 判读 |
|---|---|---|
| 独立 IP 数 / 冗余度 | 真实 IP 数 ÷ 节点总数 | <0.3 → 严重虚标,节点数不可信 |
| 同一 IP 被复用的节点 | 哪台机器被拆成了多少"节点" | 最常见的是 ×5、×10 |
| 机房(hosting) | 是否是数据中心 IP | 全是"是" → 没有家宽/原生 IP,AI 与流媒体表现会差 |
| TCP 可达 | IP:端口能否建连 | FAIL 多 → 节点被封或已下线 |
| 国家标注不一致 | 节点名宣称 vs 实际落地 | 出现即说明"多国"有注水 |
节点总数 20 / 独立 IP 4 / 冗余度 0.20;
美国-1 实际落地在新加坡;TCP 可达 1/4。一句话结论:20 个节点是 4 台机器的端口复用,其中 3 台已经不可达。
14.8 晚高峰实测(连续 5 天)
固定同一个节点、同一个测速源、同一时间段,才有可比性。
- 时间:20:30–22:30 之间任选 30 分钟,每天同一时段。
- 客户端里点该节点「延迟测试」,记下 ms。
- 终端测下载(下面的结果单位是 bytes/s,除以 125000 得到 Mbps):
curl -x http://127.0.0.1:7890 -o /dev/null -sS \
-w "耗时 %{time_total}s 速度 %{speed_download} B/s\n" \
"https://speed.cloudflare.com/__down?bytes=100000000"
- 同时 ping 落地 IP 30 次,记中位数与 P95:
ping -c 30 <落地IP> | tail -2
记录表模板(抄到本地文件里,每天一行):
| 日期 | 节点 | 延迟中位 | P95 | 丢包 | 单线程 Mbps | 4K | 异常时间 |
|---|---|---|---|---|---|---|---|
| D1 21:00 | HK-01 | 42ms | 55ms | 0% | 86 | 秒开 | — |
| D2 21:10 | HK-01 | — | — | — | — | — | — |
14.9 解锁与 AI 实测
不要只看"全解锁"三个字,逐项点开:
- 批量检测:
bash <(curl -L -s https://raw.githubusercontent.com/lmc999/RegionRestrictionCheck/main/check.sh) - Netflix:随便点开一部非自制剧(自制剧全球都能看,没有验证意义)。
- YouTube:播放 4K 视频 → 右键「统计信息」→ 看
Connection Speed是否稳定在 20000 Kbps 以上。 - ChatGPT:网页登录并发一条消息。报 "not available in your country" = IP 不可用;能登录但反复人机验证 = IP 风险分高。
| 现象 | 结论 | 动作 |
|---|---|---|
| Netflix 只有自制剧 | 共享 IP 被识别为代理 | 换"原生/流媒体"节点,或换机场 |
| Disney+ 报地区不支持 | 落地国家不对 | 确认节点实际国家(用脚本查) |
| ChatGPT 能登但频繁验证 | IP 风险分高 | 换节点;清 cookie;语言/时区与 IP 国家一致 |
| Claude 直接拒绝 | IP 或被标记,或地区不支持 | 换美/日原生节点重试 |
14.10 打分与决策
把 7 天数据填进第 7 章评分卡,按下面的口径落分:
晚高峰衰减率 = (D1 平峰速度 − 5 天晚高峰均速) / D1 平峰速度
< 10% → 稳定性 5 分
10–15% → 4 分
15–30% → 3 分
> 30% → 1–2 分
总分 ≥80 续费月付;70–79 继续月付观察;60–69 只当备用;<60 直接淘汰,别再投入时间。
14.11 换机场:无损迁移五步
- 先接新,不删旧:新订阅导入客户端,旧订阅保持不动。
- 并行观察 3 天:新节点设为主选,旧节点留在策略组里当备用。
- 导出备份:把能用的配置另存一份到本地(别只存在机场面板里)。
- 清理旧订阅:确认新机场稳定后再删。删之前把旧机场后台的订阅链接「重置」一次,防止 token 泄露。
- 删账号信息:如果用过同密码,改掉。
14.12 故障排查
| 症状 | 最可能原因 | 怎么确认 | 怎么修 |
|---|---|---|---|
| 完全上不了网,直连也慢 | 本地网络/宽带故障 | 关代理测 curl https://www.baidu.com | 重启路由、检查 DNS |
| 直连正常,开代理全挂 | 节点被封 / 机场故障 | python3 airport-check.py 看 TCP 可达 | 换节点;全挂则切备用 |
| 只有 GitHub / Google / OpenAI 打不开,别的正常 | DNS 被污染,或配置里把域名指向了境外 DoH | 关掉代理后逐域名测试;看配置 nameserver-policy | 改用国内 DoH(doh.pub);或删掉该策略 |
| 国内网站变慢、视频卡 | 没有分流,全量走代理 | 看客户端「连接」列表,国内域名是否走代理 | 加 GEOIP,CN,DIRECT 与 GEOSITE,cn |
| 能连,但只有 UDP 协议不通 | 运营商对 UDP 做 QoS | 同节点切 TCP 协议再试 | 主力用 VLESS-Reality(TCP) |
| 全部节点 TLS 握手失败 | 系统时间偏差 | 看系统时间与标准时间差几分钟 | 打开自动对时 |
| 开了 TUN 后 Docker / 虚拟机异常 | 虚拟网卡接管了内网网段 | 关 TUN 测试 | TUN 设置里排除 172.16.0.0/12、192.168.0.0/16 |
| 订阅更新失败但能上网 | 订阅域名被墙 / 面板故障 | 浏览器直接打开订阅 URL | 换机场给的备用订阅域名 |
14.13 每周 5 分钟运维
- 更新一次订阅,看节点是否有变化(大规模换 IP 是异常信号)。
python3 airport-check.py --no-net,看独立 IP 数有没有骤降。- 扫一眼机场公告 / TG 频道:有没有"线路维护""系统升级"连续出现。
- 检查支付自动扣款列表,确认没有莫名的续费授权。
- 备份配置:
mkdir -p ~/airport-backup
cp ~/airport.yaml ~/airport-backup/$(date +%F).yaml 2>/dev/null || \
cp "$HOME/Library/Application Support/io.github.clash-verge-rev.clash-verge-rev/profiles/"*.yaml ~/airport-backup/
ls -lh ~/airport-backup | tail -5
15. 参数与指令速查
15.1 网络诊断命令
| 目的 | 命令 | 看什么 |
|---|---|---|
| 通不通 | ping -c 5 <IP> | 丢包率、平均延迟 |
| 抖动 | ping -c 30 <IP> | max 与 avg 差距 >2 倍 = 抖 |
| 端口通不通 | nc -z -G 3 <IP> <端口> | 无输出即失败,OK 即通 |
| 路由与绕路 | mtr -rw -c 20 <IP> | 第 1 跳是境内 IP = 中转;出现 59.43 = CN2 |
| 可视化路由 | nexttrace <IP> | 逐跳 ASN 与地理 |
| 域名解析 | dig +short <域名> @223.5.5.5 | 是否被污染(返回 0.0.0.0 或奇怪 IP) |
| IP 归属 | curl "http://ip-api.com/json/<IP>?fields=country,city,as,hosting,proxy" | hosting:true=机房 IP,proxy:true=已被标记 |
| 本机监听端口 | lsof -nP -iTCP:7890 -sTCP:LISTEN | 确认代理软件在跑 |
| 当前代理环境 | echo $https_proxy | 排查"为什么命令行不走代理" |
| 绕过代理直连 | env -u https_proxy -u http_proxy -u all_proxy curl ... | 定位是代理问题还是网络问题 |
15.2 curl 常用参数
| 参数 | 作用 | 典型用法 |
|---|---|---|
-x <url> | 走指定代理 | curl -x http://127.0.0.1:7890 ... |
-o /dev/null | 丢弃响应体 | 只测速不占磁盘 |
-w "..." | 输出自定义指标 | %{http_code} %{time_total} %{speed_download} %{remote_ip} |
-sS | 静默但显示错误 | 脚本里用,避免刷屏 |
-m <秒> | 总超时 | 防止卡死 |
-I | 只取响应头 | 测连通性最快 |
--resolve | 强制指定 IP | 绕过 DNS 验证证书 |
-L | 跟随跳转 | 订阅链接、短链 |
15.3 测速与探测 URL
| 用途 | URL |
|---|---|
| 连通性(返回 204) | http://www.gstatic.com/generate_204 |
| Cloudflare 下载 | https://speed.cloudflare.com/__down?bytes=100000000 |
| Hetzner 100MB | https://speed.hetzner.de/100MB.bin |
| Cachefly 100MB | http://cachefly.cachefly.net/100mb.test |
15.4 mihomo / Clash 配置项
| 配置项 | 含义 | 常用值 / 建议 |
|---|---|---|
mixed-port | HTTP+SOCKS 混合端口 | 7890 |
mode | 运行模式 | rule(日常)/ global(排障)/ direct(全部直连) |
allow-lan | 允许局域网设备接入 | 需要手机共享时开 |
tun.enable | 虚拟网卡全局接管 | 终端/Docker 需要代理时开 |
dns.enhanced-mode | DNS 模式 | fake-ip(快)/ redir-host(兼容好) |
dns.nameserver | 默认 DNS | https://doh.pub/dns-query |
dns.nameserver-policy | 按域名指定 DNS | 慎用境外 DoH,节点挂了会连带解析失败 |
proxy-groups type | 策略组类型 | select 手动 / url-test 自动选最快 / fallback 故障转移 / load-balance 负载均衡 |
url-test.interval | 自动测速间隔(秒) | 300 |
url-test.tolerance | 切换容差(ms) | 50,太小会频繁跳节点 |
rules 类型 | 规则匹配方式 | DOMAIN / DOMAIN-SUFFIX / DOMAIN-KEYWORD / IP-CIDR / GEOIP / GEOSITE / MATCH |
rule-providers | 规则集订阅 | 用 geosite 或远程 rule-set,别手写几千条 |
最小可用分流规则(放在 rules: 里,从上往下匹配,命中的先赢):
rules:
- DOMAIN-SUFFIX,cn,DIRECT
- DOMAIN-KEYWORD,-cn,DIRECT
- GEOIP,CN,DIRECT
- GEOSITE,cn,DIRECT
- GEOSITE,geolocation-!cn,PROXY
- MATCH,PROXY
15.5 订阅格式对照
| 格式 | 特征 | 适用客户端 |
|---|---|---|
| Clash / mihomo YAML | 明文,含 proxies: proxy-groups: rules: | Clash Verge Rev、Mihomo Party、OpenClash |
| V2Ray / base64 | 一串 base64,解出来是 vmess:// vless:// 等 | v2rayN、Shadowrocket、NekoBox |
| sing-box JSON | JSON,含 outbounds | sing-box、Stash(部分) |
| 订阅转换 | 在链接后加 ?flag=clash 之类参数 | 各机场参数不同,优先用机场自带的多格式链接 |
15.6 术语缩写
| 缩写 | 全称 | 一句话解释 |
|---|---|---|
| GFW | Great Firewall | 网络审查与干扰系统 |
| DPI | Deep Packet Inspection | 深度包检测,靠流量特征识别代理 |
| SNI | Server Name Indication | TLS 握手里的明文域名,代理方可见 |
| QUIC | Quick UDP Internet Connections | 基于 UDP 的传输协议,Hysteria2 的基础 |
| BGP | Border Gateway Protocol | 多线机房用它做线路宣告与选路 |
| ASN | Autonomous System Number | IP 段归属的自治系统编号,用于识别机房 |
| IEPL / IPLC | International Ethernet / Private Leased Circuit | 跨境专线,不走公网出口 |
| GIA | Global Internet Access | 电信 CN2 的高端产品线 |
| QoS | Quality of Service | 运营商对特定流量降优先级 |
| SLA | Service Level Agreement | 可用性承诺,机场宣传里的 99.9% 多无约束力 |
| TTFB | Time To First Byte | 首字节时间,交互体验的关键指标 |
| P95 | 95th Percentile | 95% 的样本低于该值,用来衡量抖动 |
16. 服务器与终端场景:自研客户端、订阅、proxy config
这一章专门解决一个越来越普遍的问题:机场只给一个"一键客户端",没有订阅链接。你在 macOS 上点两下能用,但要在云主机、CI、Docker、或者需要 http_proxy 的终端里用,就完全接不上。
16.1 先把问题说清楚:自研客户端到底改变了什么
传统机场卖的是标准协议的节点参数(server / port / 协议 / 密钥),客户端自己实现协议。自研客户端把这一层收走了:节点参数不再暴露给你,客户端内部直接连自己的服务端。
| 形态 | 你拿到什么 | 能不能给服务器用 | 典型场景 |
|---|---|---|---|
| 标准订阅(Clash / sing-box / V2Ray) | 一条 URL,返回节点 + 规则 | 能任何平台都能跑 | 电脑、手机、服务器、路由器、CI |
| 只给"节点参数"(手动添加) | server / port / uuid | 能手工写入 xray / sing-box | 同上,但要自己拼配置 |
| 自研客户端 + 本地端口 | 一个 App,内部起 7890/1080 | 半能必须让客户端常驻,且只能在那台机器上 | 个人电脑、手机 |
| 自研客户端 + 私有协议 | 只有 App,没有参数也没有标准端口 | 不能 | 只能在支持的平台上用 |
机场为什么这么做:降低小白门槛、控制设备数、防止节点被提取共享、顺便做推广和统计。代价全部转给你:
- 平台受限:Linux 服务器、路由器、CI、Docker 基本用不了。
- 迁移困难:跑路时你没有节点参数,只能跟着重建环境。
- 隐私更多暴露:客户端能上报的东西比一条订阅多得多(设备指纹、使用时长、访问统计)。
- 故障不可排查:出问题你只能看它给的"连接失败",看不到路由、协议、日志。
curl -x 连出去,是"这机场能不能上服务器"的唯一标准。做不到,它对你就是"仅限桌面"。
16.2 六条判据:这个机场能不能给服务器用
| # | 判据 | 怎么查 | 结论 |
|---|---|---|---|
| 1 | 官网/面板有订阅链接 | 用户中心找 "Clash / sing-box / 通用订阅" | 有 → 首选 |
| 2 | 支持手动添加节点 | 客户端里找"手动配置 / 自定义节点 / 导入链接" | 有 → 可用 |
| 3 | 自研客户端会开本地端口 | lsof -nP -iTCP -sTCP:LISTEN | grep -E "7890|7891|1080|1081" | 有 → 可在本机用 http_proxy |
| 4 | 协议是标准协议 | 看是否写明 SS / VMess / VLESS / Trojan / Hysteria2 / TUIC | 写"私有加速协议" → 大概率绑客户端 |
| 5 | 有限制多设备吗 | 套餐页写"1 台设备 / 禁止共享" | 有 → 服务器场景违规,可能被封 |
| 6 | 有路由 / 软路由教程 | 官网帮助中心搜 "OpenWrt / 路由器" | 有 → 说明它保留了标准协议出口 |
怎么快速验证第 3 条(不用读文档)
# 1. 让客户端正常工作,然后看它监听在哪
lsof -nP -iTCP -sTCP:LISTEN | grep -Ei "clash|mihomo|sing|v2ray|xray|proxy"
# 2. 假设看到了 127.0.0.1:7890,直接测
curl -x http://127.0.0.1:7890 -I -m 10 https://www.google.com
# 3. 看到 200/301 就说明这台机器已经能用了,服务器上的做法同理
# 看到 Connection refused 说明它只在 App 内部转发,没有对外端口
16.3 标准方案:在 Linux 服务器上跑订阅
顺序是固定的:订阅 → 内核进程 → 本地端口 → 环境变量 → 各工具。只要端口起来了,剩下的都是标准做法。
方案 A:mihomo(Clash.Meta)命令行 —— 最推荐
优点:直接吃 Clash 订阅,规则、分流、策略组全都能用,和桌面端同一套配置。
# 1. 下载(以 amd64 为例,arm 换 arm64)
cd /tmp
VER=v1.19.0 # 到 github.com/MetaCubeX/mihomo/releases 看最新版
wget https://github.com/MetaCubeX/mihomo/releases/download/${VER}/mihomo-linux-amd64-${VER}.gz
gunzip mihomo-linux-amd64-${VER}.gz
install -m 0755 mihomo-linux-amd64-${VER} /usr/local/bin/mihomo
mihomo -v
# 2. 放配置(把机场的 Clash 订阅下载成 config.yaml)
mkdir -p /etc/mihomo
curl -L "<你的 Clash 订阅 URL>" -o /etc/mihomo/config.yaml
grep -E "^(mixed-port|port|socks-port)" /etc/mihomo/config.yaml # 确认端口,常见 7890
# 3. 前台试跑,看到 "Start Mixed(http+socks) server" 即成功
mihomo -d /etc/mihomo
# 4. 另开一个终端验证
curl -x http://127.0.0.1:7890 -I -m 10 https://www.google.com
跑通后做成开机自启(systemd):
cat >/etc/systemd/system/mihomo.service <<'EOF'
[Unit]
Description=mihomo proxy
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
ExecStart=/usr/local/bin/mihomo -d /etc/mihomo
Restart=always
RestartSec=3
LimitNOFILE=100000
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable --now mihomo
systemctl status mihomo --no-pager
journalctl -u mihomo -n 30 --no-pager
方案 B:sing-box
# 机场给的 sing-box 订阅(JSON)直接落地
curl -L "<你的 sing-box 订阅 URL>" -o /etc/sing-box/config.json
sing-box check -c /etc/sing-box/config.json # 先校验
sing-box run -c /etc/sing-box/config.json # 前台跑
# inbound 里配置 type=http / socks,listen=127.0.0.1,listen_port=7890
方案 C:xray 单节点(只有节点参数时)
机场不给订阅、但给了 server/port/uuid 时,手写一份最简 VLESS 出站 + socks 入站即可。适合"就一个节点、不用分流"的服务器场景。
方案 D:不装客户端,走网关
如果这台 VM 和你家里/公司网络在同一个内网,最省事的做法是:在路由器或一台常开的机器上跑 mihomo(开 allow-lan),VM 里只需要:
export https_proxy=http://192.168.1.2:7890
export http_proxy=http://192.168.1.2:7890
好处是 VM 上什么都不用装;坏处是跨网段/公网时需要额外做端口与鉴权,不建议把代理端口直接暴露到公网。
16.4 proxy config:环境变量与各工具的配法
这是你提到的重点。绝大多数 Linux 工具只认环境变量或各自的配置文件,不认系统设置面板。
通用环境变量
# 临时生效(当前 shell)
export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890
export all_proxy=socks5://127.0.0.1:7890 # 部分工具只认这个
export no_proxy="localhost,127.0.0.1,::1,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,169.254.169.254,.internal"
# 取消
unset http_proxy https_proxy all_proxy no_proxy
no_proxy 里的 169.254.169.254 不能漏:那是云厂商的元数据服务,走代理会导致实例信息、临时凭证全部拿不到,排查起来非常费时。内网段同理。
持久化三选一:
# 只对当前用户
echo 'export https_proxy=http://127.0.0.1:7890' >> ~/.bashrc
echo 'export http_proxy=http://127.0.0.1:7890' >> ~/.bashrc
# 全局(Debian/Ubuntu 系)
echo 'https_proxy="http://127.0.0.1:7890"' >> /etc/environment
# 只给某个 systemd 服务(推荐,影响面最小)
systemctl edit myapp.service
# 在打开的编辑器里写:
# [Service]
# Environment="https_proxy=http://127.0.0.1:7890" "http_proxy=http://127.0.0.1:7890"
各工具分别怎么配
| 工具 | 配法 | 验证 |
|---|---|---|
| curl / wget | 读环境变量;或 curl -x / wget -e use_proxy=yes -e https_proxy=... | curl -I https://www.google.com |
| apt(Debian/Ubuntu) | /etc/apt/apt.conf.d/95proxy 写 Acquire::http::Proxy "http://127.0.0.1:7890"; 与 Acquire::https::Proxy 同理 | apt update 能否走通 |
| pip | pip config set global.proxy http://127.0.0.1:7890,或临时 pip install --proxy ... | pip download requests -d /tmp |
| npm | npm config set proxy http://127.0.0.1:7890;npm config set https-proxy ... | npm view react version |
| git | git config --global http.proxy http://127.0.0.1:7890(https 同理);取消用 --unset | git ls-remote https://github.com/git/git |
| docker pull | 用户级 ~/.docker/config.json 的 proxies.default;或 systemd drop-in 给 dockerd 配 HTTP_PROXY | docker pull hello-world |
| conda | ~/.condarc 里 proxy_servers: {http: ..., https: ...} | conda search numpy |
| SSH | ~/.ssh/config 里 ProxyCommand nc -X connect -x 127.0.0.1:7890 %h %p | ssh -v host |
Docker 用户级配置示例(~/.docker/config.json):
{
"proxies": {
"default": {
"httpProxy": "http://127.0.0.1:7890",
"httpsProxy": "http://127.0.0.1:7890",
"noProxy": "localhost,127.0.0.1,169.254.169.254,10.0.0.0/8,172.16.0.0/12"
}
}
}
docker pull 不读 shell 的 http_proxy。docker 命令把请求发给 dockerd,而 dockerd 是独立服务——要么给 dockerd 配 systemd 环境变量,要么配 ~/.docker/config.json,只 export 是没用的。
16.5 只有自研客户端时,还能做什么
- 先找端口(16.2 第 3 条)。如果客户端在本机起了 7890/1080,那这台机器就能用,把它当本地方案即可;但换到服务器上就得在服务器上再装一次(Linux 版通常没有)。
- 找它的临时配置。很多"自研客户端"其实是 mihomo / sing-box 的套壳,会把配置写到本地:
- macOS:
~/Library/Application Support/<App>/、~/Library/Containers/<App>/ - Windows:
%APPDATA%\<App>\ - Linux:
~/.config/<App>/
config.yaml/config.json,里面的节点参数就是标准协议,可以直接搬到服务器。 - macOS:
- 找"导出 / 二维码 / 分享"入口。少数客户端允许导出节点链接,这是最省事的路径。
- 问客服要标准订阅。很多机场有订阅,只是默认不展示;直接问"有没有 Clash 或 sing-box 订阅链接,我要在 Linux 服务器上用"。
- 换机场。如果以上都不行,且你确实需要服务器场景,那这家不适合你——把"提供标准订阅"写进选型条件(第 4 章硬性排除项)。
16.6 案例:小飞象自研客户端(实测拆解)
2026-10 实测的一家:只有自研客户端,官网/面板不给你订阅入口。结论是——配置能提取、能迁到 Linux 服务器,但搬之前必须改 4 个配置项,否则要么用不了,要么把服务器变成公网开放代理。
① 客户端结构(先搞清楚它是什么)
| 部分 | 位置 | 说明 |
|---|---|---|
| App 本体 | /Applications/小飞象.app | Electron 打包,主进程 + 渲染进程 + 网络服务 |
| 用户数据 | ~/Library/Application Support/xiaofeixiang/vortex.json | 账号、密码、套餐、订阅 URL 全部明文 |
| 内核进程 | ~/.config/com.vortex.helper/com.vortex.helper | mihomo 分支(version.meta = true),不是私有协议 |
| 内核配置 | ~/.config/com.vortex.helper/config.yaml | 标准 Clash 格式:20 节点 + 188 条规则 |
| 控制器 | 127.0.0.1:39797 | /configs、/proxies 都能查,说明是开源内核套壳 |
| 日志 | ~/.config/com.vortex.helper/log/ | 端口冲突、订阅下载、域名扫描都记在这里 |
只要看到"内核目录里有 config.yaml + 控制器能访问",基本可以判定:它就是 mihomo/sing-box 的套壳,节点是标准协议,可以搬。
② 第一个坑:端口被占,表现为"proxy 不生效"
症状:客户端显示已连接,但浏览器和终端都上不了网。核心日志里只有这一行:
level=error msg="Start Mixed(http+socks) server error:
listen tcp 127.0.0.1:7890: bind: address already in use"
原因:机器上还开着老的 ClashX,它占着 7890。新客户端绑不上端口,但 UI 不提示——于是"连上了、却没代理"。
# 定位:谁占着 7890
lsof -nP -iTCP:7890 -sTCP:LISTEN
# 处理:退出占用者(或把新客户端的代理端口改成 7897)
osascript -e 'tell application "ClashX Pro" to quit'
③ 第二个坑:配置里这 4 项不能照搬
| 配置项 | 客户端里的值 | 搬到服务器应改为 | 不改的后果 |
|---|---|---|---|
allow-lan | true | false(若容器要连,改绑 bind-address) | 监听 0.0.0.0:7890,云主机有公网 IP 就等于开了无鉴权开放代理 |
external-controller | 127.0.0.1:39797 | 127.0.0.1:9090 | 端口与业务冲突,或被误暴露 |
dns.nameserver-policy | 全部指向 dns.cloudflare.com | 删除,或换成 doh.pub | 节点一挂,google/github/openai 连域名都解析不了 |
tun.enable | false | 保持 false | 服务器上开了会干扰内网与云厂商元数据服务 |
其中 allow-lan 最容易被忽略。实测该客户端在 macOS 上确实绑的是 *:7890(局域网可见);同样的配置放到云主机,就是对全网开放。
④ 节点能不能用:先体检,再搬
用第 10 章的脚本直接读它的 config.yaml:
python3 airport-check.py -c ~/.config/com.vortex.helper/config.yaml
实测输出(节选):
节点总数 20 独立 IP 3 冗余度 0.15
74.52.13.8 香港/Kwai Chun AS200772 机房 OK
23.128.188.104 新加坡/Singapore AS8143 否 OK
23.129.140.178 日本/Tokyo AS8143 否 OK
国家标注与实际落地不一致:
✗ 香港-D5(宣称 香港)→ 实际 新加坡
- 20 个"节点"其实只有 3 台机器(8 + 8 + 4 个端口),冗余度 0.15,一台挂掉 8 个节点一起消失。
- 节点名不可信:
香港-D5落在新加坡;美国-D1~D5的 server 也在新加坡/日本 IP 上。 - 全部是
ss(chacha20-ietf-poly1305),没有 Reality / Hysteria2,抗封锁能力属最弱一档。
但就"能不能搬"这个问题,答案是能:标准协议 + 标准配置,Linux 上跑 mihomo 直接吃。
⑤ 迁到服务器:只换节点,不动分组
目标机器(tx-vm)上原本已经有一套能跑的结构:
mihomo 监听 172.17.0.1:7890(只对 docker 网桥,公网不可达)
proxy-groups: SG(url-test) / JP(url-test) / OPENROUTER(fallback: JP → SG)
rules: DOMAIN-SUFFIX,openrouter.ai,OPENROUTER + MATCH,DIRECT
业务侧: ai-magic-backend 用 ENGINE_PROXY=http://host.docker.internal:7890
但 10 个节点全是旧的(IP 已失效,TCP 探测 FAIL)。做法是保留节点名、只替换 server 和 port——这样三个分组和分流规则一行都不用改:
# 1. 备份
cp /etc/mihomo/config.yaml /etc/mihomo/config.yaml.bak.$(date +%Y%m%d-%H%M%S)
# 2. 校验新配置(mihomo 自带 -t)
mihomo -t -d /etc/mihomo -f /tmp/config.new.yaml
# 3. 生效
cp /tmp/config.new.yaml /etc/mihomo/config.yaml
systemctl restart mihomo && systemctl is-active mihomo
# 4. 回滚(一条命令)
cp /etc/mihomo/config.yaml.bak.20261026-171650 /etc/mihomo/config.yaml
systemctl restart mihomo
实测结果:
| 检查项 | 命令 | 结果 |
|---|---|---|
| 配置语法 | mihomo -t | test is successful |
| SS 组延迟 | /proxies/SG/delay | 42 ms |
| JP 组延迟 | /proxies/JP/delay | 77 ms |
| 业务域名 | curl -x ... openrouter.ai/api/v1/models | HTTP 200,cf-ray: ...-NRT(东京落地) |
| 容器内链路 | 容器内 python 走 host.docker.internal:7890 | HTTP 200,791KB,0.70s |
curl -x http://127.0.0.1:7890 https://api.ipify.org,返回的是服务器自己的 IP,看着像"没生效"。实际是规则最后一条 MATCH,DIRECT,只有 openrouter.ai 走代理。正确姿势:看目标域名的响应头
cf-ray(-NRT 东京、-SIN 新加坡),或在容器内测业务域名本身。
⑥ 这类客户端的三条固有风险
- 凭证明文落盘:
vortex.json里账号、密码、订阅 token 都是明文。任何能读你用户目录的程序都能拿走。 - IP/端口会轮换:实测几周内就从
23.128.188.93 → .104、23.129.140.130 → .178,端口全换。服务器上的配置会静默失效,业务报错但没人知道原因。 - 可上报的信息更多:设备指纹、使用时长、访问统计都在客户端手里,比一条订阅多得多。
⑦ 什么时候可以接受自研客户端
| 场景 | 结论 |
|---|---|
| 只在自己电脑/手机上用 | 可以体验省事,风险可控 |
| 需要给服务器/容器/CI 用,且能提取到标准 config | 勉强可以但要接受"IP 变了手动改"的维护成本 |
| 需要给服务器用,但找不到配置、只有私有协议 | 放弃换一家提供标准订阅的 |
| 明确禁止多设备/共享 | 放弃服务器场景属于违规使用,可能直接封号 |
16.7 因此,选机场时要多看两条
- 必须提供标准订阅(Clash / sing-box / V2Ray 任一)。只有自研客户端的,服务器场景直接排除。
- 节点必须是标准协议。宣传"私有协议 / 自研加速协议"的,基本等于"绑定客户端",服务器上用不了,也没法用第三方内核做分流。
这两条加进第 4 章的硬性排除,能省掉后面大量的返工。反过来,如果一个机场同时给"一键客户端 + 标准订阅",说明它对自己的技术栈有信心,也更值得试。
16.8 服务器侧自检清单
| 检查项 | 命令 | 期望 |
|---|---|---|
| 内核在跑 | systemctl is-active mihomo | active |
| 端口在听 | ss -lntp | grep 7890 | 看到 127.0.0.1:7890 |
| 代理可用 | curl -x http://127.0.0.1:7890 -I -m 10 https://www.google.com | HTTP 200/301 |
| 环境变量生效 | env | grep -i proxy | 看到 7890 |
| 内网没被代理 | curl -I http://169.254.169.254/latest/meta-data/ | 能返回(说明 no_proxy 生效) |
| 日志无报错 | journalctl -u mihomo -n 50 --no-pager | 无 connection refused 刷屏 |
17. 速查表
17.1 三分钟判定
| 看到什么 | 判断 |
|---|---|
| 「年付 ¥99,全专线,1000GB」 | 直接排除成本不成立 |
| 「终身套餐」「三年付 5 折」 | 直接排除跑路前置动作 |
| 「200+ 节点,全球 50 国」 | 先验真去重后可能只有 10 个 IP |
| 「全解锁,不支持退款」 | 排除没逐项标注 = 没承诺 |
| 「IPLC 专线,¥19/月」 | 存疑可能只有 1–2 个专线节点,其余中转 |
| 「只提供自研客户端,没有订阅链接」 | 看场景服务器/终端用不了,见第 16 章 |
| 「运营 5 年,有工单,月付 ¥35」 | 可进入试用 |
17.2 下单前 8 问
- 月付多少钱?流量多少?倍率多少?(三个数要能算出每 GB 成本)
- 哪些地区是专线,哪些是直连?(要求文字回答,不看图标)
- 订阅支持 Clash / sing-box / Shadowrocket 哪几种格式?
- 同时在线设备数上限?
- 工单在哪提?平均多久回?(现在提一个试试)
- 退款政策是什么?
- 节点用的什么协议?有没有 Reality / Hysteria2?
- 最近一次换域名是什么时候,怎么通知的?
17.3 三个数字定生死
晚高峰衰减率 < 15% ← 影响"卡不卡"
独立 IP 数量 ≥ 15 ← 影响"会不会一起死"
7 天可用率 > 99% ← 影响"能不能当主力"